package com.yuanxiao.common.core.utils;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * create by luozongsheng on 26/03/2018
 * 自定义实体属性注解
 **/
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD})
public @interface RColumn {

    //	public int value();
    String value()default "";

    String setFuncName() default "setField";

    String getFuncName() default "getField";

    Class classType() default Object.class;

    /**
     * 是否可以为null或""
     * 如果 必填，该值设置为 false
     * @return
     */
    boolean isCanBlank() default true;

    /**
     * 映射转换时，是否排除
     * @return
     */
    boolean isExclude() default false;

    /**
     * 属性是否为实体对象
     * @return
     */
    boolean isObject() default false;

    /**
     * 属性是否为List
     * @return
     */
    boolean isList() default false;

    String listNodeName() default "";
}
